Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling


Publicatiedatum:
01-05-2026

Inwerkingtreding:
01-05-2026

5.1 Wat is de leeftijdsopbouw van het personeel in loondienst?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 5.1
2# Parameters: ?kwartaal, ?jaar, ?zorgkantoor
3# Ontologie: versie 3.0 of nieuwer
4
5PREFIX onz-g: <http://purl.org/ozo/onz-g#>
6PREFIX onz-org: <http://purl.org/ozo/onz-org#>
7PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
8PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
9PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
10PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
11
12SELECT 
13    (?vestiging AS ?Indeling)
14    (SUM(?1620) AS ?16_20)
15    (SUM(?2125) AS ?21_25)
16    (SUM(?2630) AS ?26_30)
17    (SUM(?3135) AS ?31_35)
18    (SUM(?3640) AS ?36_40)
19    (SUM(?4145) AS ?41_45)
20    (SUM(?4650) AS ?46_50)
21    (SUM(?5155) AS ?51_55)
22    (SUM(?5660) AS ?56_60)
23    (SUM(?6165) AS ?61_65)
24    (SUM(?6670) AS ?66_70)
25    (SUM(?7175) AS ?71_75)
26{
27    {
28        SELECT  DISTINCT 
29            ?vestiging 
30            ?persoon
31            ?leeftijd
32        {
33            # BIND(2023 AS ?jaar)
34            # BIND("Q1" AS ?kwartaal)
35            # BIND(onz-org:ZorgkantoorMenzis AS ?zorgkantoor)
36
37            BIND(IF(?kwartaal = 'Q1', xsd:date(CONCAT(STR(?jaar), '-01-01')),
38                IF(?kwartaal = 'Q2', xsd:date(CONCAT(STR(?jaar), '-04-01')),
39                IF(?kwartaal = 'Q3', xsd:date(CONCAT(STR(?jaar), '-07-01')),
40                IF(?kwartaal = 'Q4', xsd:date(CONCAT(STR(?jaar), '-10-01')),
41                '')))) AS ?start_periode)
42            BIND(?start_periode + "P3M"^^xsd:duration + "-P1D"^^xsd:duration AS ?eind_periode)
43            
44            ?overeenkomst 
45                a onz-pers:ArbeidsOvereenkomst ;
46                onz-pers:heeftOpdrachtnemer ?persoon ;
47                onz-g:hasPart ?overeenkomst_afspraak .
48            ?overeenkomst_afspraak
49                a onz-pers:WerkOvereenkomstAfspraak ;
50                onz-g:startDatum ?start_afspraak .
51            OPTIONAL {
52                ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak
53            }
54            FILTER (?start_afspraak <= ?eind_periode && (?eind_afspraak >= ?start_periode || !BOUND(?eind_afspraak)))
55
56            ?persoon 
57                a onz-g:Human ;
58                onz-g:hasDateOfBirth ?geboortedatum .
59            
60            BIND(YEAR(?eind_periode) - YEAR(?geboortedatum) AS ?leeftijd_voorl)
61            BIND(IF(MONTH(?geboortedatum) > MONTH(?eind_periode) 
62                || (MONTH(?geboortedatum) = MONTH(?eind_periode) && DAY(?geboortedatum) > DAY(?eind_periode)), 
63                ?leeftijd_voorl - 1, ?leeftijd_voorl) AS ?leeftijd)
64            
65            {     
66                ?overeenkomst_afspraak onz-g:isAbout ?locatie .
67                ?locatie 
68                    a onz-g:StationaryArtifact ;
69                    onz-g:partOf* ?vestiging_uri .
70                ?vestiging_uri a onz-org:Vestiging ;
71                    onz-g:hasLocalizableArea/onz-g:identifiedBy/onz-g:hasPart/onz-g:hasPart ?postcode_6 .
72                BIND(IRI(SUBSTR(STR(?postcode_6), 1, STRLEN(STR(?postcode_6)) - 2)) AS ?postcode)
73                ?pc_gebied 
74                    onz-g:identifiedBy ?postcode ;
75                    onz-g:partOf+ ?zk_regio .
76                ?zk_regio a onz-org:ZorgkantoorRegio .
77                ?zorgkantoor onz-g:hasOperatingRange ?zk_regio .
78                ?vestiging_uri onz-g:identifiedBy ?vest_nr .    	
79                ?vest_nr a onz-org:Vestigingsnummer ;
80                    onz-g:hasDataValue ?vestiging .
81            } UNION {
82                BIND("Organisatie (gecontracteerd + algemeen)" AS ?vestiging)
83            }
84
85        }
86    }
87    BIND(IF(?leeftijd >= 16 && ?leeftijd <= 20, 1, 0) AS ?1620)
88    BIND(IF(?leeftijd >= 21 && ?leeftijd <= 25, 1, 0) AS ?2125)
89    BIND(IF(?leeftijd >= 26 && ?leeftijd <= 30, 1, 0) AS ?2630)
90    BIND(IF(?leeftijd >= 31 && ?leeftijd <= 35, 1, 0) AS ?3135)
91    BIND(IF(?leeftijd >= 36 && ?leeftijd <= 40, 1, 0) AS ?3640)
92    BIND(IF(?leeftijd >= 41 && ?leeftijd <= 45, 1, 0) AS ?4145)
93    BIND(IF(?leeftijd >= 46 && ?leeftijd <= 50, 1, 0) AS ?4650)
94    BIND(IF(?leeftijd >= 51 && ?leeftijd <= 55, 1, 0) AS ?5155)
95    BIND(IF(?leeftijd >= 56 && ?leeftijd <= 60, 1, 0) AS ?5660)
96    BIND(IF(?leeftijd >= 61 && ?leeftijd <= 65, 1, 0) AS ?6165)
97    BIND(IF(?leeftijd >= 66 && ?leeftijd <= 70, 1, 0) AS ?6670)
98    BIND(IF(?leeftijd >= 71 && ?leeftijd <= 75, 1, 0) AS ?7175)
99    BIND(IF(?leeftijd >= 75 , 1, 0) AS ?75_)
100}
101GROUP BY ?vestiging 
102ORDER BY ?vestiging